SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[spNuevaRendicionBYP]
@idLiquidacion int,
@Monto float,
@Periodo int
--@Fecha varchar(10)
AS
SET NOCOUNT ON
declare @beca int
declare @Fecha datetime
select @Fecha = getdate()

-- Si la liquidacion a rendir registra alguna Rendicion, se actualizan los montos en las tablas MovimientosRendicion y BecasYPrestamos
if exists (SELECT * FROM tb_MovimientosRendicionBYP WHERE idMovimiento = @idLiquidacion) begin

	update tb_MovimientosRendicionBYP 
	set Monto = Monto + @Monto
	where idMovimiento = @idLiquidacion

	-- Recuperamos el codigo de la beca para luego hacer la actualizacion.
	Select @beca =(Select BecaOPrestamo from tb_MovimientosLiquidacionBYP where idMovimiento = @idLiquidacion)		

	update tb_BecasYPrestamos
	set MontoRendido = MontoRendido + @Monto
	where idBeca = @beca

end
-- Si no existe un rendicion previa se inserta una nueva rendicion para la liquidacion.
else begin

	insert into tb_MovimientosRendicionBYP(idMovimiento, Monto, Periodo, Fecha)
	values(@idLiquidacion, @monto, @periodo, @Fecha)

end

-- Si el monto Liquidado para ese periodo = Monto Rendido para el mismo periodo
if (Select Monto from tb_MovimientosLiquidacionBYP where idMovimiento = @idLiquidacion) = 
	   (Select Monto from tb_MovimientosRendicionBYP where idMovimiento = @idLiquidacion)
		--update tb_BecasYPrestamos 
		--set Rendido = 'S' 
		--where idBeca = @Beca
		print 'Falta hacer update del campo rendido'
GO
